home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Magazine Extra 1998 Summer: The Perfect PC
/
PC Magazine Extra - The Perfect PC - Summer 1998 Vol 6 #2.iso
/
dwzdika
/
1519
/
compplay.bat
next >
Wrap
DOS Batch File
|
1996-06-21
|
2KB
|
91 lines
@echo off
if NOT '%trnct%'=='1' GOTO NotSecond
:: On 2d move, take center if possible, corner if not
set mv=7
if '%sq5%'=='-' set mv=5
GOTO End
:NotSecond
IF NOT '%trnct%'=='111' GOTO NotFourth
:: On 4th move, avoid two-way fork
set mv=4
IF '%sq1%%sq9%'=='XX' goto End
IF '%sq3%%sq7%'=='XX' goto End
set mv=1
IF '%sq1%'=='-' if '%sq4%%sq2%'=='XX' goto End
set mv=3
IF '%sq3%'=='-' if '%sq2%%sq6%'=='XX' goto End
set mv=7
IF '%sq7%'=='-' if '%sq8%%sq4%'=='XX' goto End
set mv=9
IF '%sq9%'=='-' if '%sq6%%sq8%'=='XX' goto End
:NotFourth
:: Check for a winning move
set sought=OO
goto Test
:RetOO
:: Check for a blocking move
set sought=XX
goto Test
:RetXX
:: Check for row with one O and two blank
set sought=-O
goto Test
:Ret-O
set sought=O-
goto Test
:RetO-
:: Nothing? Just pick first unused square
set mv=1
if '%sq1%'=='-' GOTO End
set mv=2
if '%sq2%'=='-' GOTO End
set mv=3
if '%sq3%'=='-' GOTO End
set mv=4
if '%sq4%'=='-' GOTO End
set mv=6
if '%sq6%'=='-' GOTO End
set mv=7
if '%sq7%'=='-' GOTO End
set mv=8
if '%sq8%'=='-' GOTO End
set mv=9
GOTO End
:Test
set mv=1
if '%sq1%'=='-' if '%sq2%%sq3%'=='%sought%' GOTO End
if '%sq1%'=='-' if '%sq4%%sq7%'=='%sought%' GOTO End
if '%sq1%'=='-' if '%sq5%%sq9%'=='%sought%' GOTO End
set mv=3
if '%sq3%'=='-' if '%sq1%%sq2%'=='%sought%' GOTO End
if '%sq3%'=='-' if '%sq6%%sq9%'=='%sought%' GOTO End
if '%sq3%'=='-' if '%sq5%%sq7%'=='%sought%' GOTO End
set mv=7
if '%sq7%'=='-' if '%sq8%%sq9%'=='%sought%' GOTO End
if '%sq7%'=='-' if '%sq1%%sq4%'=='%sought%' GOTO End
if '%sq7%'=='-' if '%sq5%%sq3%'=='%sought%' GOTO End
set mv=9
if '%sq9%'=='-' if '%sq7%%sq8%'=='%sought%' GOTO End
if '%sq9%'=='-' if '%sq3%%sq6%'=='%sought%' GOTO End
if '%sq9%'=='-' if '%sq1%%sq5%'=='%sought%' GOTO End
set mv=2
if '%sq2%'=='-' if '%sq1%%sq3%'=='%sought%' GOTO End
if '%sq2%'=='-' if '%sq5%%sq8%'=='%sought%' GOTO End
set mv=4
if '%sq4%'=='-' if '%sq5%%sq6%'=='%sought%' GOTO End
if '%sq4%'=='-' if '%sq1%%sq7%'=='%sought%' GOTO End
set mv=6
if '%sq6%'=='-' if '%sq4%%sq5%'=='%sought%' GOTO End
if '%sq6%'=='-' if '%sq3%%sq9%'=='%sought%' GOTO End
set mv=8
if '%sq8%'=='-' if '%sq7%%sq9%'=='%sought%' GOTO End
if '%sq8%'=='-' if '%sq2%%sq5%'=='%sought%' GOTO End
goto Ret%sought%
:End
set sought=